#ifndef VARIABLE_H
#define VARIABLE_H
#include "Expression.h"

namespace TreeExpression {

class Variable : public Expression_CRTP<Variable> {
	public:
		Variable(std::string _name);
		Variable(const Variable&);
		~Variable();
		
		virtual AutoPointer<Expression> eval(CopyPointer<Context>&);
		
		virtual std::string getHash() const;
		virtual std::string toString() const;
		std::string getName() const;
	private:
		std::string name;
};

}

#endif
